Designated region projection printing

ABSTRACT

A system determines an object-design for a three-dimensional model of an object. The object-design may exhibit a design continuity. The system breaks the object-design in to spatial patterns corresponding to the discrete surfaces making up the outward surface of the object. The system then generates flattened patterns by projecting the spatial patterns into a two-dimensional plane. The system prints the flattened patterns on to designated regions of material sheets in an orientation that preserves the design continuity of the object-design. The regions may be extracted from the sheets and then joined at their edges to form a cover for object that exhibits the continuity of the object design.

PRIORITY

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 16/985,426, filed Aug. 5, 2020, Attorney Docket No.515686.5000491, which is incorporated by reference in its entirety. U.S.patent application Ser. No. 16/985,426 is a continuation of and claimspriority to U.S. patent application Ser. No. 16/183,259, filed Nov. 7,2018, Attorney Docket No. 15686/252, which is incorporated by referencein its entirety. U.S. patent application Ser. No. 16/183,259 claimspriority to U.S. Provisional Patent Application Ser. No. 62/583,339,filed Nov. 8, 2017, Attorney Docket No. 15686/144, which is incorporatedby reference in its entirety.

TECHNICAL FIELD

This disclosure relates to printing designs on object covers.

BACKGROUND

Rapid advances in material printing technologies have increasedmanufacturing flexibility and customization. As just one example,surface printing and three-dimensional printing techniques have renderedfeasible near-on-demand and on-demand custom manufacturing. Improvementsin printing technology implementation and functionality will furtherenhance manufacturing flexibility and customization.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example design printing system.

FIG. 2 shows an example object printed material sheet and an extracteddesignated region.

FIG. 3 shows example model logic.

FIG. 4 shows example print logic.

FIG. 5 shows an example design graphical user interface for a designinterface.

DETAILED DESCRIPTION

For various objects, such as furniture, upholstered furnishings, officefixtures, home furnishings, automotive seating, or other objects withmaterial covers, it may be desirable to generate covers that include anobject-design (e.g., a complete material cover design for an object) onthe covers' outward surfaces. Further, it may be desirable for thecontinuity of the object-design to be maintained across edges (e.g.,locations where material sheets making up a cover are joined in a seamor are folded resulting in a potential break in continuity in anobject-design on the surface of the object).

Object-design continuity may be maintained by aligning and orientingvisual features such that the features appear uninterrupted by the edge.For example, continuity may be maintained by aligning visual elementssuch that patterns, lines, images, or other visual elements do notundergo an abrupt shift or discontinuity across an edge, e.g., alignmentcontinuity. Additionally or alternatively, continuity may be maintainedby orienting visual features such that the visual features maintain aconsistent orientation across an edge, e.g., orientation continuity. Forexample, when a three-dimensional object is wrapped using one or moreflat material sheets (e.g., fabric sheets, plastic sheets, metal sheets,rubber sheets, or other material sheets), the design on the materialorients according to how the sheet is folded over the object. A designthe runs perpendicular to a first discrete surface (e.g., a definedsurface of an object) with a first orientation may run perpendicular tosecond discrete surface with a second orientation after a fold.Following such a fold, the orientation of the design shifts. Maintainingconsistent orientation across an edge (e.g., a fold, a seam, or otheredge) may involve orienting the visual features on the flat sheet suchthat when the seam contours to the object, the orientation of the designis maintained despite the change in orientation of the sheet.

Three-dimensional objects with material covers may include multiplediscrete surfaces (e.g. which may be flat or curved). In some cases, twoor more two-dimensional material sheets may be joined at seams to makeupa cover the fits the contours of the object. The discrete surfaces ofthe object may meet along curves or straight lines. Accordingly, parsingan object-design across an edge (e.g., to maintain alignment continuity)may be more complex than dividing the object-design across a straightborder. Further, the discrete surfaces of the object may have irregularshapes adding to the complexity of the edges. For example a single edgethat creates a contour for an irregularly shaped discrete surface mayinclude straight sections, curved sections, angled corners, or anycombination thereof.

Moreover, to maintain orientation continuity, an object-design may bedivided into portions with different orientations when on flat sheetssuch that the portions have the same orientation (or otherwise maintainorientation continuity) when applied to the three-dimensional object.

In addition, in cases where it is possible to maintain object-designcontinuity in three dimensions by cutting regions from one or morematerial sheets with a design in two-dimensions, the regions cut fromthe material sheets may be defined by the design present on the materialsheets. Accordingly, this technique may lead to wasted material becausethe regions are selected to maintain continuity rather than to minimizewaste.

The architectures and techniques discussed below provide a system thatobtains an object-design applied in a continuity-maintaining fashion toa three-dimensional model of an object. From the three-dimensionalmodel, the system determines spatial patterns, which are portions of theobject-design in three dimensions divided along the edges within thethree-dimensional model. The system projects the spatial patterns intotwo-dimensions to form flattened patterns, while maintaining thealignment and orientation (e.g., relative to the edges) of the spatialpatterns. The system prints the flattened patterns onto regions ofmaterial sheets designated for each of the discrete surfaces. The systemmay designate the regions in accord with a packing algorithm to reducematerial waste relative to unguided packing.

Because system prints the flattened patterns after designation of theregions on the material sheet, the regions may be designated withoutregard to the eventual pattern printed. Accordingly, in at least somecases, waste reduction may be the only parameter guiding the process ofpacking the regions on to one or more material sheets. The size andshape of the designated regions may be determined according to the sizeand shape of the discrete surfaces on the object.

The system may further include a design interface, which may beimplemented on circuitry. A user may provide a custom object-design foran object using the design interface. For example, a user may edit athree-dimensional model of an object to create an object-design for theobject in three dimensions. Alternatively or additionally, the user mayrender a model for the object using a third party design package, e.g.,Autodesk®, SolidWorks®, FreeCAD™, SketchUp®, or other third party designpackage. The user may provide the rendered model output from the thirdparty design package to the design interface as an input. Alternativelyor additionally, a user may capture image data from an existing objectand apply the captured image data to a three-dimensional model via thedesign interface. Accordingly, an existing object may be used as atemplate for the object-design for new objects.

The projection of the spatial pattern into a flattened pattern maydetermine in part the printed output on a material sheet. Accordingly,the projection controls a concrete real world physical output.Similarly, the design interface may also determine the printed output ona material sheet resulting in a concrete real world physical output.Moreover, the designation of regions on the material sheet controls theamount of the material sheet wasted after the printing process.Accordingly the techniques and architectures discussed herein withregard to designation of regions affect the efficiency and performanceof the printing system. Therefore, the projection of the spatialpattern, the design interface, and the designation of regions, togetherand individually, improve the underlying operation of the hardware ofthe system by improvising efficiency and controlling physical outputs.

The printing of flattened patterns based on projections of spatialpatterns that include curved surfaces in three dimensions results inprinting that in two-dimensions appears misaligned and discontinuous.Producing base cover material with continuity on flat sheets (e.g.,unchanging a repeating pattern) has been viewed as the way to obtainaesthetically pleasing outputs for three-dimensional object covers.Generating base cover material with apparent discontinuities in twodimensions has been viewed as leading to undesirable discontinuities inthe finished three-dimensional product. Accordingly, the apparentdiscontinues in the printing output resulting from the projections usedin techniques and architectures discussed herein would be viewed aserrors in printing. Expressed another way the printing of flattenedpatterns based on projections of spatial patterns that include curvedsurfaces in three dimensions proceeds contrary to accepted wisdom.

In addition, non-repeating designs, such as photographs, high contrastlines, or other non-repeating designs are viewed as being dependent on adegree of alignment and/or orientation continuity that is outside ofreliably achieved levels for manufactured objects with material covers.Accordingly, such non-repeating designs were incorrectly viewed asunacceptable designs for such material covers. Accordingly, applyingarbitrary designs to material covers proceeds contrary to acceptedwisdom.

Referring now to FIG. 1, an example design printing system (DPS) 100 isshown. The DPS 100 may include system logic 114 to support execution ofthe model logic 300 and the print logic 400 described below. The systemlogic may include processors 116, memory 120, and/or other circuitry.

The memory 120 may include three-dimensional models 152 projectionschemes 154, packing algorithms 156, and printing drivers 158. Thememory 120 may further include applications and structures 166, forexample, coded objects, machine instructions, templates, or otherstructures to support model manipulation and editing, projection,packing, printing or other tasks described below.

In various implementations, the system logic 114 may be distributed overmultiple physical servers, be implemented as a virtual machine, and/orbe implemented, at least in part, as one or more serverlessapplications.

The DPS 100 may also include communication interfaces 112, which maysupport wireless, e.g. Bluetooth, Wi-Fi, WLAN, cellular (4G, LTE/A),and/or wired, Ethernet, Gigabit Ethernet, optical networking protocols.The communication interfaces 112 may also include serial interfaces,such as universal serial bus (USB), serial ATA, IEEE 1394, lightingport, I²C, slimBus, or other serial interfaces. The DPS 100 may includepower functions 134 and various input interfaces.

The DPS 100 may also include a design interface 118 that may includehuman-to-machine interface devices (HIDs) and/or graphical userinterfaces (GUI), e.g., example design GUI 500, discussed in detailbelow. The design interface 118 may be in data communication with thecommunication interfaces 112 to support reception of design input fromterminal stations 170. In some implementations, the terminal stations170 may execute third party design packages. Further, in some cases, theDPS 100 may generate GUIs on terminal stations 170 to support remotedesign control using design tools native to the DPS 100.

The DPS 100 may further include print circuitry 180. The print circuitry180 may include one or more print heads 182. The print heads 182 mayinclude print heads for printing on flat material sheets. Further, theprint heads 182 may, additionally or alternatively, includethree-dimensional print heads which may print the underlying materialitself including the design visible on the surface of the material.

FIG. 2 shows an example object 200 printed material sheet 220 and anextracted designated region 240. The example object 200 includes a cover202. The multiple extracted designated regions 240 are joined togetherat the regions' edges (e.g., forming seams). In various implementations,extracted designated regions 240 may be joined using various techniquesincluding stitching/sewing, gluing, welding, stapling, or otherwiseaffixing the extracted designated regions to one another.

The printed material sheet 220 may include multiple designated regions230, which the DPS 100 may pack on to the sheet in accord with a packingalgorithm. The DPS 100 prints flattened patterns on to the designatedregions 230. The printed designated regions 230 may be extracted to formextracted designated regions 240. The system may extract the designatedregions from the material sheets via cutting (e.g., laser cutting,sharp-edge cutting, sawing, plasma cutting, thermal cutting, water jetcutting, or other cutting process) pressing, tearing, shearing, or otherprocess for removing a shaped region from a material sheet.

The extracted designated regions 240 may include alignment markers 242.The alignment markers 242 may assist during the later process of joiningthe extracted designated regions. The alignment makers may be added bythe DPS 100 during printing, while determining the shape and size of thedesignated region, during another period in which the region or materialsheet is altered, or any combination thereof. The alignment markers maybe visible, machine perceptible, or, other marking allowing particularlocations on the extracted designated regions to be mated with oneanother. For example, the alignment markers may include tabs jutting outfrom the designated regions, barcodes, stiches, printed markers, affixedpatches, areas with magnetized or capacitive materials, or otherdetectable markers. In some cases, the DPS 100 may place alignmentmarkers 242 such that the alignment markers 242 may be not visible orimperceptible once the extracted designated regions 240 are joined intoa cover and applied to the object.

While joining the extracted designated regions 240 to one another, thesystem may align mated markers to one another. The system may scan forthe machine perceptible alignment markers on the extracted designedregions. The detected markers may be positioned proximate to matedmarkers. In some cases, mated markers may share design features. In somecases, mated markers may be used for fine tuning alignment once coarsealignment has been completed. Accordingly, mated design markers may notnecessarily include features that distinguish markers from makers towhich the markers are not mated.

By aligning the alignment markers that system may ensure that thecontinuity maintained by printing the flattened patterns on thedesignated regions is preserved after the printed regions are joinedtogether.

Accordingly, in some implementations, the DPS 100 of FIG. 1 may furtherinclude extraction tools 195, which may include tools (e.g., computercontrolled tools using on more of the extraction techniques discussedabove) for extracting the designated regions from the material sheets.Additionally or alternatively, the DPS 100 may include joining tools197, which may include tools (e.g., computer controlled tools using onmore of the joining techniques discussed above) for joining theextracted sheets in to a cover.

Referring now to FIG. 3, example model logic 300, which may beimplemented on circuitry is shown. The model logic 300 may obtain athree-dimensional model of an object with a design (302). For example,the model logic 300 may receive a three-dimensional model with thedesign from the design interface 118. The design interface 118 may havegenerated the model responsive to user input. Additionally oralternatively, the design interface 118 may have generated the modelbased on a model output from a third-party design package. Additionallyor alternative, the three-dimensional model may have been generated bythe design interface based on a scan or photograph of an existingtemplate object. The design may include visual features that on theouter surfaces of the object. The design may exhibit continuity, includealignment continuity and/or orientation continuity.

The model logic 300 may determine edges for the three-dimensional modelto break the model up into discrete surfaces (304). In some cases, themodel logic may determine the positioning of the edges. The positioningof the edges may be determined based on material sheet dimensions,fabric flow, object durability and wear, object contours, seamappearance, and other factors. Additionally or alternatively, thepositioning of the edges may be determined by the input from the designinterface 118 or a pre-determined cover template for the object. Forexample, a user using the design interface 118 may determine thelocation for edges, such as seams, while design the object. In anotherexample, the object may have an associated “blueprint” for the size andshape of the pieces that make-up the cover.

The model logic 300 may determine a spatial pattern for the discretesurfaces that maintains the continuity present in the design (306). Thespatial patterns may include contoured surfaces in three dimensions.Accordingly, the spatial pattern are the portions of the design on thethree-dimensional model that each correspond to a discrete surface onthe model. The model logic 300 determines the spatial patterns such thatthey maintain any continuity present in the design across the edgesseparating the discrete surfaces.

The model logic 300 may continue to determine spatial patterns until allspatial patterns for the discrete surfaces of the model are determined(308). Once determined, the spatial patterns make-up the entire designfor the object in three dimensions. However, because spatial pattern arecurved/contoured in three dimensions they are impractical for printingto a flat material sheet.

According, the model logic 300 may project the spatial patterns into totwo-dimensions to generate a flattened patterns for printing to thedesignated regions (310). The projection of the spatial patterns may atransform that maps the spatial pattern from a three-dimensional surfaceinto a two-dimensional plane. The projection may also result in theflattened pattern corresponding in size and shape to the designatedregion, e.g., with allowances for material needed for joining regionsand/or alignment markers. Further, the projection may account formaterial flow and/or stretch when applied as a cover to the object. Insome cases, material modeling packages and services, such as ExactLab,may be used to determine flow parameters for the material sheets.Further, different three-dimension to two-dimension mapping techniquesmay be used.

For example, silhouette type projections may be used where the pointsthree-dimensional curve are translated into a two-dimensional crosssection. This may result in apparent distortion of the spatial patternover three-dimensional contours when in two-dimensions. However, forcertain materials, material stretch when applying the cover to theobject may undo this apparent distortion.

In another example, a 1-to-1 surface area persevering transform may beused. Accordingly, the surface area of the curved/contoured spatialpattern is translated into an equal surface area in two dimensions.

Other transformations may be used for the projection, including a blendof different transforms. For example, a 1-to-1 transform may be blendedwith a silhouette type projection. The model logic 300 may determine, onthree-dimensional model, portions of the cover that undergo stretchingwhen applied to the object. Areas of stretching may be transformed usingthe silhouette type transform, while areas without stretching may use a1-to-1 type transform.

In addition to transforming when projecting the spatial pattern, themodel logic 300 also determines an orientation for the flattened patternthe preserves continuity the continuity of the object-design once theflattened patterns are re-joined into the object-design. Accordingly,the projection both transforms and orients.

The model logic 300 may send the flattened patterns to the print logic400 (312).

Referring now to FIG. 4, example print logic 400 is shown. The printlogic 400 may determine the size and shape of the designated regionscorresponding to the discrete surfaces of the object (402). In somecases, template sizes and shapes for the designated regions may beprovided to the print logic. For example, for a template object cover,the sizes and shapes of the designated regions may be determined beforethe object-design is applied. In an example scenario, template objectcovers may be used where the DPS 100 is used to customize the outwardappearance of an otherwise set product offering. For template objectcovers, the print logic may determine the size and shape of thedesignated regions in accord with the dimensions provided in thetemplate.

In cases where the size and shape of the designated regions is notpre-determined within a template, the print logic 400 may determine thesize and shape of the designated regions using the determined edges andprojection from the model logic as input. Further, the print logic 400may add extra material to facilitate joining the regions afterextraction and to account for alignment markers.

The print logic 400 may position the designated regions on one or morematerial sheets for printing (404). In some cases, for example whentemplate shapes and sizes for the designated regions are available, thepositioning of the designated regions on the one or more material sheetsmay also be pre-specified in the template. Accordingly, the print logic400 may designate the positions for the designated regions in accordwith the template.

In cases where the positioning is not pre-determined, the print logic400 may apply a packing algorithm to position the designated regions. Apacking algorithm may be a routine for placing the regions that mayoperate under one or more constraints. For example, the packingalgorithm may be constrained to place the designated regions such thatthe regions do not overlap. Additionally or alternatively, the packingalgorithm may constrained such that the regions are placed such thatsingle regions are not split across multiple material sheets.

Additionally or alternatively, packing algorithms may apply placementschemes. Placement scheme may include rules or processes for placementof regions. For example, randomized placement may be used. In accordwith such a randomized scheme the regions a placed randomly, but inaccord with any active constraints (e.g., non-overlapping, single sheet,minimum/maximum separation between regions, threshold maximum acceptablematerial waste, or other constraints). In another scheme, the printlogic 400 may make many (e.g., 10, 50, 100, 1000, 50000, 100000, orother number) random placements for a group of regions. After making therandom placements, the print logic 400 may select one of the randomplacements. For example, the print logic 400 may select the placementwith the lowest level of material waste. In another example scheme, theprint logic 400 may use simulations to determine region placement. Forexample, the print logic 400 may simulate the regions a pieces within acontainer (sized according to the material sheet) under the effects ofgravity. The print logic may use a “shake” and “settle” routine todetermine the placement of the regions, where the regions are disturbedby a simulated impulse and then allowed to fall into a settled pattern.Other algorithms for irregular object packing may be used. Additionallyor alternatively, the print logic 400 may also accept manual placementsof the designated regions, e.g., via commands from the design interface118.

The print logic 400 may receive the flattened patterns from the modellogic 300 (406). After receiving the flattened patterns, the print logic400 may cause the print heads 182 to print the flattened patterns on tothe designated regions (408).

In cases where the DPS 100 include extraction tools 195 and/or joiningtools 197, the print logic 400 may cause the extraction tools to extractthe designated regions from the material sheets (410). The print logic400 may then cause the joining tools to detect the alignment markers(412), and align mated alignment markers to one another (414). Once, thealignment makers are aligned, the print logic 400 may cause the joiningtools to affix the extracted designated regions to one another (416).

In addition to the tools to support production of the object cover, asdiscussed above, the DPS 100 may also include a design interface 118 tosupport user design of object covers. Referring now to FIG. 5, anexample design GUI 500 for the design interface 118 is shown. Theexample design GUI 500 include may include a design window 510 anddesign tools 530.

The design window 510 may show a workspace 512 for the design GUI 500.In an example scenario, the workspace 512 may display a view of athree-dimensional model 514 of the object. Using one or more HIDs, theuser may enter commands to manipulate/edit the three-dimensional modelto, for example, apply an object-design to the model. However, invarious scenarios, the user may edit the three-dimensional model inother ways, such as, placing edges. Further, the design window may beused to perform other tasks such as manually placing designated regionsfor printing on material sheets. The design tools 530 may include toolsfor editing designs/drawing, editing edge placement, and/or placingdesignated regions. The user may select among available tools usinginput commands from the one or more HIDs

The methods, devices, processing, circuitry, and logic described hereinmay be implemented in many different ways and in many differentcombinations of hardware and software. For example, all or parts of theimplementations may be circuitry that includes an instruction processor,such as a Central Processing Unit (CPU), microcontroller, or amicroprocessor; or as an Application Specific Integrated Circuit (ASIC),Programmable Logic Device (PLD), or Field Programmable Gate Array(FPGA); or as circuitry that includes discrete logic or other circuitcomponents, including analog circuit components, digital circuitcomponents or both; or any combination thereof. The circuitry mayinclude discrete interconnected hardware components or may be combinedon a single integrated circuit die, distributed among multipleintegrated circuit dies, or implemented in a Multiple Chip Module (MCM)of multiple integrated circuit dies in a common package, as examples.

Accordingly, the circuitry may store or access instructions forexecution, or may implement its functionality in hardware alone. Theinstructions may be stored in a tangible storage medium that is otherthan a transitory signal, such as a flash memory, a Random Access Memory(RAM), a Read Only Memory (ROM), an Erasable Programmable Read OnlyMemory (EPROM); or on a magnetic or optical disc, such as a Compact DiscRead Only Memory (CDROM), Hard Disk Drive (HDD), or other magnetic oroptical disk; or in or on another machine-readable medium. A product,such as a computer program product, may include a storage medium andinstructions stored in or on the medium, and the instructions whenexecuted by the circuitry in a device may cause the device to implementany of the processing described above or illustrated in the drawings.

The implementations may be distributed. For instance, the circuitry mayinclude multiple distinct system components, such as multiple processorsand memories, and may span multiple distributed processing systems.Parameters, databases, and other data structures may be separatelystored and managed, may be incorporated into a single memory ordatabase, may be logically and physically organized in many differentways, and may be implemented in many different ways. Exampleimplementations include linked lists, program variables, hash tables,arrays, records (e.g., database records), objects, and implicit storagemechanisms. Instructions may form parts (e.g., subroutines or other codesections) of a single program, may form multiple separate programs, maybe distributed across multiple memories and processors, and may beimplemented in many different ways. Examples include implementations asstand-alone programs, and as part of a library, such as a shared librarylike a Dynamic Link Library (DLL). The library, for example, may containshared data and one or more shared programs that include instructionsthat perform any of the processing described above or illustrated in thedrawings, when executed by the circuitry.

Various implementations have been specifically described. However, manyother implementations are also possible.

What is claimed is:
 1. A method for performing object-design for athree-dimensional object, the method comprising: obtaining a pluralityof discrete surfaces of a three-dimensional object; obtaining aplurality of spatial patterns for the plurality of discrete surfaces;projecting the plurality of spatial patterns into a two-dimensionalplane to obtain a plurality of flattened patterns; and outputting theplurality of flattened patterns as an object-design result for thethree-dimensional object.
 2. The method according to claim 1, whereinthe projecting the plurality of spatial patterns into a two-dimensionalplane to obtain a plurality of flattened patterns comprises: for aspatial pattern in the plurality of spatial patterns, applying a surfacearea preserving transform to a portion of the spatial pattern, orapplying a silhouette-type transform to a portion of the spatialpattern.
 3. The method according to claim 2, wherein orientation of aflattened pattern corresponding to the spatial pattern preservescontinuity of the object-design result.
 4. The method according to claim1, wherein a spatial pattern in the plurality of spatial patternscomprises a curved surface in three dimensions.
 5. The method accordingto claim 1, further comprising: printing at least one flattened patternin the plurality of flattened patterns onto a material sheet.
 6. Themethod according to claim 5, further comprises: printing more than onealignment markers onto the material sheet; and aligning a pair of matedalignment markers.
 7. The method according to claim 6, wherein thealigning the pair of mated alignment markers comprises: detecting themore than one alignment markers; and in response to detecting a commonfeature of a pair of alignment markers, determining the pair ofalignment markers as the pair of mated alignment markers.
 8. Anapparatus for performing object-design for a three-dimensional object,the apparatus comprising: a memory storing instructions; and a processorin communication with the memory, wherein, when the processor executesthe instructions, the processor is configured to cause the apparatus toperform: obtaining a plurality of discrete surfaces of athree-dimensional object, obtaining a plurality of spatial patterns forthe plurality of discrete surfaces, projecting the plurality of spatialpatterns into a two-dimensional plane to obtain a plurality of flattenedpatterns, and outputting the plurality of flattened patterns as anobject-design result for the three-dimensional object.
 9. The apparatusaccording to claim 8, wherein, when the processor is configured to causethe apparatus to perform projecting the plurality of spatial patternsinto a two-dimensional plane to obtain a plurality of flattenedpatterns, the processor is configured to cause the apparatus to perform:for a spatial pattern in the plurality of spatial patterns, applying asurface area preserving transform to a portion of the spatial pattern,or applying a silhouette-type transform to a portion of the spatialpattern.
 10. The apparatus according to claim 9, wherein orientation ofa flattened pattern corresponding to the spatial pattern preservescontinuity of the object-design result.
 11. The apparatus according toclaim 8, wherein, wherein a spatial pattern in the plurality of spatialpatterns comprises a curved surface in three dimensions.
 12. Theapparatus according to claim 8, wherein, when the processor executes theinstructions, the processor is configured to cause the apparatus tofurther perform: printing at least one flattened pattern in theplurality of flattened patterns onto a material sheet.
 13. The apparatusaccording to claim 12, wherein, when the processor executes theinstructions, the processor is configured to cause the apparatus tofurther perform: printing more than one alignment markers onto thematerial sheet; and aligning a pair of mated alignment markers.
 14. Theapparatus according to claim 13, wherein, when the processor isconfigured to cause the apparatus to perform aligning the pair of matedalignment markers, the processor is configured to cause the apparatus toperform: detecting the more than one alignment markers; and in responseto detecting a common feature of a pair of alignment markers,determining the pair of alignment markers as the pair of mated alignmentmarkers.
 15. A non-transitory computer-readable storage medium, storingcomputer-readable instructions, wherein, the computer-readableinstructions, when executed by a processor, are configured to cause theprocessor to perform: obtaining a plurality of discrete surfaces of athree-dimensional object; obtaining a plurality of spatial patterns forthe plurality of discrete surfaces; projecting the plurality of spatialpatterns into a two-dimensional plane to obtain a plurality of flattenedpatterns; and outputting the plurality of flattened patterns as anobject-design result for the three-dimensional object.
 16. Thenon-transitory computer-readable storage medium according to claim 15,wherein, when the computer-readable instructions are configured to causethe processor to perform projecting the plurality of spatial patternsinto a two-dimensional plane to obtain a plurality of flattenedpatterns, the computer-readable instructions are configured to cause theprocessor to perform: for a spatial pattern in the plurality of spatialpatterns, applying a surface area preserving transform to a portion ofthe spatial pattern, or applying a silhouette-type transform to aportion of the spatial pattern.
 17. The non-transitory computer-readablestorage medium according to claim 16, wherein orientation of a flattenedpattern corresponding to the spatial pattern preserves continuity of theobject-design result.
 18. The non-transitory computer-readable storagemedium according to claim 15, wherein a spatial pattern in the pluralityof spatial patterns comprises a curved surface in three dimensions. 19.The non-transitory computer-readable storage medium according to claim15, wherein, when the computer-readable instructions are executed by theprocessor, the computer-readable instructions are configured to furthercause the processor to perform: printing at least one flattened patternin the plurality of flattened patterns onto a material sheet.
 20. Thenon-transitory computer-readable storage medium according to claim 19,wherein, when the computer-readable instructions are executed by theprocessor, the computer-readable instructions are configured to furthercause the processor to perform: printing more than one alignment markersonto the material sheet; and aligning a pair of mated alignment markers.